<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta http-equiv="X-UA-Compatible" content="IE=edge" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Document</title>
	</head>

	<body>
		<script>
			// localStorage 和 sessionStorage 存储的数据格式 ===> 字符串
			// const obj = {
			//   name:'练练',
			//   age:20
			// }
			// localStorage.setItem('demo', obj)
			// console.log(localStorage.getItem('demo'))

			/*================  存储复杂数据类型  =====================*/
			// JSON格式的字符串 双引号！！！
			'{"name":"runoob","alexa":1000,"site":null}'
			// 1.key 和 value 都有引号，而且必须是双引号  如果value是number或者null，则不需要引号
			// 2.属性名和属性值是以冒号隔开的
			// 3.每个key/value键值对是以 逗号 ，隔开的

			// 1.JSON.stringify()
			const obj = {
				name: '练练',
				age: 20,
			}
			const res = JSON.stringify(obj)
			console.log(res)
			console.log(typeof res)
			localStorage.setItem('demo', JSON.stringify(obj))

			// 2.直接取出来，是一个JSON格式的字符串，我们一般情况下需要用到这个对象属性值
			// 如果是字符串的形式，取不了属性值
			const res2 = localStorage.getItem('demo')
			console.log(res2)
			console.log(typeof res2)

			// JSON。parse(str) ===> 将JSON格式的字符串转为对象
			// const result = JSON.parse(res2)
			const result = JSON.parse(localStorage.getItem('demo'))
			console.log(result)
			console.log(result.age)

			// JSON.stringify()  ===>  将对象转为JSON格式的字符串
			// JSON.parse()      ===>  将JSON格式的字符串转为对象
		</script>
	</body>
</html>
